package com.xuecheng.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.content.model.dto.CoursePreviewDTO;
import com.xuecheng.content.model.po.CoursePublish;

import java.util.List;

/**
 * <p>
 * 课程发布 服务类
 * </p>
 *
 * @author 勾新杰
 * @since 2025-02-15
 */
public interface ICoursePublishService extends IService<CoursePublish> {

    /**
     * 课程发布
     * @param courseId 课程id
     */
    void publish(Long courseId);

    /**
     * 课程下线
     * @param courseId 课程id
     */
    void offline(Long courseId);

    /**
     * 查询下架两个月以上的课程
     * @return List<CoursePublish>
     */
    List<CoursePublish> selectLongTimeOffline();

    /**
     * 获取课程发布信息
     * @param courseId 课程id
     * @return CoursePreviewDTO
     */
    CoursePreviewDTO getCoursePublishWhole(Long courseId);
}
